<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // let 不存在变量提升
        //console.log(a);//报错
        //let a=10;

        //阻断了与window的关系,let 声明的变量不会存放在 window 里,直接放到 VO(G)
        //console.log(window);

        //let 不能重复声明
        //let a=20;
        //console.log(a);

        // var b=10;
        // var b=20;
        // console.log(b);

        // let a=2;
        // console.log(a);
        // var a=3; 
        // console.log(3);


    //    // a--10  b--10
    //     let a=10,
    //     b=10;
    //     let fn=function(){
    //         //let在某个作用域中,必须先声明，后使用，否侧报错----暂时性死区
    //         console.log(a);//报错
    //         let a=b=20;
    //         console.log(a,b);
    //     };
    //     fn();
    //     console.log(a,b)


    //   //a--10  b---10--20
    //     let a=10,
    //     b=10;
    //     let fn=function(){
    //         //a--20
    //         let a=b=20;
    //         console.log(a,b);//20 20
    //     };
    //     fn();
    //     console.log(a,b);//10  20


     //console.log(a);//报错
     // *** typeof 一个没有的变量的时候是 undeifned
    //  console.log(typeof a);//undefined

    // console.log(typeof a);//报错
    // let a=10;


    //const 声明常量，后面“值”的不能修改（值类型的值,引用类型的地址）
    //const 必须 声明+赋值
    //其余的更let一样
    // const a=10;
    // console.log(a);

    // const arr=[10,22,33];//0x002
    // arr.push(100);
    // console.log(arr);

    </script>
</body>
</html>